var express = require("express");
var router = express.Router();
const sqlobj = require("../db");

/* GET home page. */
router.get("/", function (req, res, next) {
  res.render("index", { title: "Express123" });
});

router.get("/demo", function (req, res, next) {
  res.render("index", { title: "hello demo1234" });
});

router.get("/login", function (req, res, next) {
  res.render("login", { title: "hello demo1234" });
});

router.get("/register", function (req, res, next) {
  res.render("register", { title: "hello demo1234" });
});

// res.render('login', { title: 'hello demo1234' });
router.post("/loginp", async function (req, res, next) {
  //登录
  // 1 获取传过来的用户名密码、
  let { username, password } = req.body;
  // 2 查询数据库 该用户名和密码是否在数据库中存在 并且匹配、、
  let sql = `SELECT * FROM day10biao WHERE username = '${username}'and password= '${password}' `;
  let value = await sqlobj(sql);
  // 3 如果不存在 返回一个对象 包含 状态 状态码 和该用户不存在的提示、
  if (value.result.length <= 0) {
    let data = {
      msg: "用户名密码错误",
      staus: "10002",
    };
    res.send(data);
    return;
  }
  // 4 如果存在  返回一个对象 包含 状态 状态码 和该用户存在的提示、
  let data = {
    msg: "登录成功",
    staus: "10001",
    data: value.result[0],
  };
  res.send(data);
});

//注册
router.post("/register", async function (req, res, next) {
  // 1 获取传过来的用户名密码、
  let { username, password, repwd } = req.body;

  //2.1 是否为空
  if (username == "" || !password || !repwd) {
    let data = {
      msg: "用户名密码不能为空",
      staus: "10002",
    };
    res.send(data);
    return;
  }

  //2. 格式判断： 长度
  //用户名不到小于5位 不能大于 15位
  if (username.length < 5 || username.length > 15) {
    let data = {
      msg: "用户名不到小于5位 不能大于 15位",
      staus: "10002",
    };
    res.send(data);
    return;
  }
  if (password !== repwd) {
    let data = {
      msg: "两次密码不一致",
      staus: "10003",
    };
    res.send(data);
    return;
  }

  let sql = `SELECT * FROM day10biao WHERE username = '${username}'and password= '${password}' `;
  let value = await sqlobj(sql);
  // 3 如果不存在 返回一个对象 包含 状态 状态码 和该用户不存在的提示、
  if (value.result.length > 0) {
    let data = {
      msg: "用户名已存在",
      staus: "10004",
    };
    res.send(data);
    return;
  }
  let time = Date.now()
  let sql1 = `INSERT INTO day10biao (username,password,time) VALUES ('${username}','${password}',${time})`;
  let value1 = await sqlobj(sql1);
  if (value1.result.affectedRows > 0) {
    let data = {
      msg: "注册成功",
      staus: "10001",
    };
    res.send(data);
  }
});

router.get("/register", function (req, res, next) {
  res.render("register", { title: "hello demo1234" });
});

module.exports = router;
